Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Displaying Raw • Download


libs/able/able/android/dispatcher.py 1.9.5 (6c9e11e3) Text, 3.70 KB

Tff7b72from T7ee787jnius Tff7b72import Te6edf3JavaExceptionTb4b4b4, Te6edf3autoclass
Tff7b72from T7ee787kivyT7ee787.T7ee787logger Tff7b72import Te6edf3Logger

Tff7b72from T7ee787ableT7ee787.T7ee787adapter Tff7b72import Tb4b4b4(
Te6edf3AdapterManagerTb4b4b4,
Te6edf3require_bluetooth_enabledTb4b4b4,
Te6edf3set_adapter_failure_rollbackTb4b4b4,
Tb4b4b4)
Tff7b72from T7ee787ableT7ee787.T7ee787androidT7ee787.T7ee787jni Tff7b72import Te6edf3PythonBluetooth
Tff7b72from T7ee787ableT7ee787.T7ee787dispatcher Tff7b72import Te6edf3BluetoothDispatcherBase
Tff7b72from T7ee787ableT7ee787.T7ee787scan_settings Tff7b72import Te6edf3ScanSettingsBuilder

Te6edf3ArrayList Tff7b72= Te6edf3autoclassTb4b4b4(Ta5d6ff"Ta5d6ffjava.util.ArrayListTa5d6ff"Tb4b4b4)

Tff7b72tryTb4b4b4:
Te6edf3BLE Tff7b72= Te6edf3autoclassTb4b4b4(Ta5d6ff"Ta5d6fforg.able.BLETa5d6ff"Tb4b4b4)
Tff7b72exceptTb4b4b4:
Te6edf3LoggerTff7b72.Td2a8fferrorTb4b4b4(
Ta5d6ff"Ta5d6ffable_recipe: Failed to load Java class org.able.BLE. Possible build error.Ta5d6ff"
Tb4b4b4)
Tff7b72raise
Tff7b72elseTb4b4b4:
Te6edf3LoggerTff7b72.Td2a8ffinfoTb4b4b4(Ta5d6ff"Ta5d6ffable_recipe: org.able.BLE Java class loadedTa5d6ff"Tb4b4b4)

Te6edf3BluetoothAdapter Tff7b72= Te6edf3autoclassTb4b4b4(Ta5d6ff"Ta5d6ffandroid.bluetooth.BluetoothAdapterTa5d6ff"Tb4b4b4)
Te6edf3BluetoothDevice Tff7b72= Te6edf3autoclassTb4b4b4(Ta5d6ff"Ta5d6ffandroid.bluetooth.BluetoothDeviceTa5d6ff"Tb4b4b4)
Te6edf3BluetoothGattDescriptor Tff7b72= Te6edf3autoclassTb4b4b4(Ta5d6ff"Ta5d6ffandroid.bluetooth.BluetoothGattDescriptorTa5d6ff"Tb4b4b4)

Te6edf3ENABLE_NOTIFICATION_VALUE Tff7b72= Te6edf3BluetoothGattDescriptorTff7b72.Td2a8ffENABLE_NOTIFICATION_VALUE
Te6edf3ENABLE_INDICATION_VALUE Tff7b72= Te6edf3BluetoothGattDescriptorTff7b72.Td2a8ffENABLE_INDICATION_VALUE
Te6edf3DISABLE_NOTIFICATION_VALUE Tff7b72= Te6edf3BluetoothGattDescriptorTff7b72.Td2a8ffDISABLE_NOTIFICATION_VALUE


Tff7b72class T56d364BluetoothDispatcherTb4b4b4(Te6edf3BluetoothDispatcherBaseTb4b4b4)Tb4b4b4:
Tf0883e@property
Tf0883e@require_bluetooth_enabled
Tff7b72def Td2a8ffadapterTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72return Te6edf3AdapterManagerTff7b72.Td2a8ffget_attached_managerTb4b4b4(Tff7b72selfTb4b4b4)Tff7b72.Td2a8ffadapter

Tf0883e@property
Tff7b72def Td2a8ffbonded_devicesTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Te6edf3ble_types Tff7b72= Tb4b4b4(Te6edf3BluetoothDeviceTff7b72.Td2a8ffDEVICE_TYPE_LETb4b4b4, Te6edf3BluetoothDeviceTff7b72.Td2a8ffDEVICE_TYPE_DUALTb4b4b4)
Te6edf3adapter Tff7b72= Tff7b72selfTff7b72.Td2a8ffadapter
Te6edf3devices Tff7b72= Te6edf3adapterTff7b72.Td2a8ffgetBondedDevicesTb4b4b4(Tb4b4b4)Tff7b72.Td2a8fftoArrayTb4b4b4(Tb4b4b4) Tff7b72if Te6edf3adapter Tff7b72else Tb4b4b4[Tb4b4b4]
Tff7b72return Tb4b4b4[Te6edf3dev Tff7b72for Te6edf3dev Tff7b72in Te6edf3devices Tff7b72if Te6edf3devTff7b72.Td2a8ffgetTypeTb4b4b4(Tb4b4b4) Tff7b72in Te6edf3ble_typesTb4b4b4]

Tff7b72def Td2a8ff_set_ble_interfaceTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_events_interface Tff7b72= Te6edf3PythonBluetoothTb4b4b4(Tff7b72selfTb4b4b4)
Tff7b72selfTff7b72.Td2a8ff_ble Tff7b72= Te6edf3BLETb4b4b4(Tff7b72selfTff7b72.Td2a8ff_events_interfaceTb4b4b4)

Tf0883e@set_adapter_failure_rollbackTb4b4b4(
Tff7b72lambda Tff7b72selfTb4b4b4: Tff7b72selfTff7b72.Td2a8ffdispatchTb4b4b4(Ta5d6ff"Ta5d6ffon_scan_startedTa5d6ff"Tb4b4b4, Te6edf3successTff7b72=Tff7b72FalseTb4b4b4)
Tb4b4b4)
Tf0883e@require_bluetooth_enabled
Tff7b72def Td2a8ffstart_scanTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3filtersTff7b72=Tff7b72NoneTb4b4b4, Te6edf3settingsTff7b72=Tff7b72NoneTb4b4b4)Tb4b4b4:
Te6edf3filters_array Tff7b72= Te6edf3ArrayListTb4b4b4(Tb4b4b4)
Tff7b72for Te6edf3f Tff7b72in Te6edf3filters Tff7b72or Tb4b4b4[Tb4b4b4]Tb4b4b4:
Te6edf3filters_arrayTff7b72.Td2a8ffaddTb4b4b4(Te6edf3fTff7b72.Td2a8ffbuildTb4b4b4(Tb4b4b4)Tb4b4b4)
Tff7b72if Tff7b72not Te6edf3settingsTb4b4b4:
Te6edf3settings Tff7b72= Te6edf3ScanSettingsBuilderTb4b4b4(Tb4b4b4)
Tff7b72tryTb4b4b4:
Te6edf3settings Tff7b72= Te6edf3settingsTff7b72.Td2a8ffbuildTb4b4b4(Tb4b4b4)
Tff7b72except Tf85149AttributeErrorTb4b4b4:
Tff7b72pass
Tff7b72selfTff7b72.Td2a8ff_bleTff7b72.Td2a8ffstartScanTb4b4b4(Tff7b72selfTff7b72.Td2a8ffenable_ble_codeTb4b4b4, Te6edf3filters_arrayTb4b4b4, Te6edf3settingsTb4b4b4)

Tff7b72def Td2a8ffstop_scanTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_bleTff7b72.Td2a8ffstopScanTb4b4b4(Tb4b4b4)

Tf0883e@require_bluetooth_enabled
Tff7b72def Td2a8ffconnect_by_device_addressTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3addressTb4b4b4: Tffa657strTb4b4b4, Te6edf3autoconnectTb4b4b4: Tffa657bool Tff7b72= Tff7b72FalseTb4b4b4)Tb4b4b4:
Te6edf3address Tff7b72= Te6edf3addressTff7b72.Td2a8ffupperTb4b4b4(Tb4b4b4)
Tff7b72if Tff7b72not Te6edf3BluetoothAdapterTff7b72.Td2a8ffcheckBluetoothAddressTb4b4b4(Te6edf3addressTb4b4b4)Tb4b4b4:
Tff7b72raise Tf85149ValueErrorTb4b4b4(Ta5d6fffTa5d6ff"Tffd700{Te6edf3addressTffd700}Ta5d6ff is not a valid Bluetooth addressTa5d6ff"Tb4b4b4)
Te6edf3adapter Tff7b72= Tff7b72selfTff7b72.Td2a8ffadapter
Tff7b72if Te6edf3adapterTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffconnect_gattTb4b4b4(Te6edf3adapterTff7b72.Td2a8ffgetRemoteDeviceTb4b4b4(Te6edf3addressTb4b4b4)Tb4b4b4, Te6edf3autoconnectTb4b4b4)

Tf0883e@require_bluetooth_enabled
Tff7b72def Td2a8ffenable_notificationsTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3characteristicTb4b4b4, Te6edf3enableTff7b72=Tff7b72TrueTb4b4b4, Te6edf3indicationTff7b72=Tff7b72FalseTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ffgattTff7b72.Td2a8ffsetCharacteristicNotificationTb4b4b4(Te6edf3characteristicTb4b4b4, Te6edf3enableTb4b4b4)Tb4b4b4:
Tff7b72return Tff7b72False

Tff7b72if Tff7b72not Te6edf3enableTb4b4b4:
T8b949e# DISABLE_NOTIFICAITON_VALUE is for disabling
T8b949e# both notifications and indications
Te6edf3descriptor_value Tff7b72= Te6edf3DISABLE_NOTIFICATION_VALUE
Tff7b72elif Te6edf3indicationTb4b4b4:
Te6edf3descriptor_value Tff7b72= Te6edf3ENABLE_INDICATION_VALUE
Tff7b72elseTb4b4b4:
Te6edf3descriptor_value Tff7b72= Te6edf3ENABLE_NOTIFICATION_VALUE

Tff7b72for Te6edf3descriptor Tff7b72in Te6edf3characteristicTff7b72.Td2a8ffgetDescriptorsTb4b4b4(Tb4b4b4)Tff7b72.Td2a8fftoArrayTb4b4b4(Tb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffwrite_descriptorTb4b4b4(Te6edf3descriptorTb4b4b4, Te6edf3descriptor_valueTb4b4b4)
Tff7b72return Tff7b72True

Tf0883e@require_bluetooth_enabled
Tff7b72def Td2a8ff_start_advertisingTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3advertiserTb4b4b4)Tb4b4b4:
Te6edf3advertiserTff7b72.Td2a8ff_startTb4b4b4(Tb4b4b4)

Tf0883e@require_bluetooth_enabled
Tff7b72def Td2a8ff_set_nameTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3valueTb4b4b4)Tb4b4b4:
Te6edf3adapter Tff7b72= Tff7b72selfTff7b72.Td2a8ffadapter
Tff7b72if Te6edf3adapterTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffadapterTff7b72.Td2a8ffsetNameTb4b4b4(Te6edf3valueTb4b4b4)


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────